const app = getApp()

import { throttle } from '../../utils/throttle.js'
import { HiddenCall } from '../../request/api.js'
const request = new HiddenCall
Page({
  /**
*  房源列表
* - @author          王磊
* - @date             2018-0７-10
* iseffective          跟进类型
* description        描述
* followup            跟进
*/
  data: {
    descriptionFollow: {
      description: "",
      followup: "",
      iseffective: ""
    },
    flag: 0,
    animation: false,
    isRequest: false //点击确定按钮后置为true，button不能再次点击
  },
  /**
 * 获取callid
 * author dzl
 */
  onLoad: function (options) {
    if (Object.keys(options).length !== 0) {
      // 获取跳转进来的数据
      let model = JSON.parse(options.model)
      // 带有出字符的为房源
      // 拿到callid,房客源编号,房源客源，房客源类型
      this.setData({
        callId: model.callId,
        code: model.resourceCode,
        type: model.page,
        swindex: model.swindex ? model.swindex:'',
        tenant: model.utype,
        id:model.id
      })
    }
  },
  /**
   * 刷新获取跟进数据
   * @auther 王磊
   * date 2019-3-22
   */
  refreshType () {
    this.getFollowUp('refresh')
  },
  /**
   * 获取跟进数据
   */
  getFollowUp(type) {
    let that = this
    type?that.setData({ animation: true}):''
    setTimeout(() => {
      request.getFollowUpType().then((res) => {
        app.globalData.followUpType = res
        that.setData({ animation: false })
      })
    }, 400)
  },
  /**
   * 拨打电话之后添加描述||跟进数据
   * author wl
   */
  formSubmit: throttle(function(e) {
    // 拿到按钮提交的数据model
    let that = this
    let data = e.detail.data
    // 获取跟进信息
    let descriptionFollowup = e.detail.followup
    //给descriptionFollowup添加id字段，id字段为有未填写时返回来的数据
    descriptionFollowup.id = this.data.id
    // 是否有备注，友好提示
    if (data.followup.indexOf('"') !== -1 || data.followup.indexOf("'") !== -1 || data.followup.indexOf("&") !== -1 || data.followup.indexOf("\\") !== -1 || data.followup.indexOf("_") !== -1) {
      this.showToast('请不要输入特殊符号！')
      return
    }
    // 有选择跟进类型且跟进信息不少于两个字
    if (data.followup.length >= 2 && data.iseffective !== "" && this.data.flag ===0) {
      // 跟进信息赋予model
      descriptionFollowup.content = data.followup
      // 调用添加跟进信息接口
      descriptionFollowup.resourceType = this.data.tenant
      //点击确定按钮后将按钮设置为不可点击状态
      this.setData({
        isRequest: true
      })
      request.addFollowup(descriptionFollowup).then((res) => {
        //请求成功后将按钮设置为可点击状态
        this.setData({
          isRequest: false
        })
        this.setData({ flag: 1})
        // 如果有描述执行接口
        if (data.description && data.description.length >=5) {
          descriptionFollowup.content = data.description
          return request.addDescription(descriptionFollowup) 
        }
      }).then((res) => {
        //请求成功后将按钮设置为可点击状态
        this.setData({
          isRequest: false
        })
        // 跟进房客类型跳转房客页面，先进行tab跳转
        this.setData({ flag: 1 })
        // 记录所有列表tab索引
        app.globalData.swindex = this.data.swindex
        wx.switchTab({ url: `../${this.data.type}/index` })
      })
    } else {
      // 没有填写任何信息，友好提示
      this.showToast('请填写完整跟进！')
    }
  }, 2000),
  /**
   * 进入添加描述||跟进
   * author wl
   */
  writeDescription(e) {
    // 选择进入描述||跟进后，替换页面    aw
    this.setData({
      entrPage: true,
      isType: e.currentTarget.dataset.istype
    })
    this.getFollowUp()
  },
  /**
   * 用户操作友好弹窗提示
   * author wl
   */
  showToast (value) {
    wx.showToast({
      title: value,
      icon: 'none'
    })
  }
})